#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

#define N 8

int main (int argc, char **argv)
{
	unsigned int i,j,h,s;
	int status;
	if (argc!=2) {
		fprintf(stderr,"Uso: %s nro_de_hijos\n",argv[0]);
		exit(1);
	}
	h = atoi(argv[1]);
	for (i=0;i<h;i++) {
		s = fork();
		if (s<0) {
			perror("Creando el hijo");
			exit(1);
		}
		else if (s==0) {
			for(j=0;j<N;j++)
				printf("HIJO pid=%5d: %3d\n",getpid(),j);
				return 0; /*no quiero nietos!*/
		}
		else
			printf("PADRE: hijo pid=%5d, creado\n",s);
		}
	for (i=0;i<h;i++) {
		s = wait(&status);
		if (s<0) {
			perror("Esperando el hijo");
			exit(1);
		}
		printf("PADRE: hijo pid=%5d, terminado\n",s);
	}
	return 0;
}
